/*
 * Filename PatientCategory.java 2021年09月29日
 * Copyright © Ehome Co.Ltd. All Rgiths Reserved.
 * @author gaojun
 */
package com.ehome.poct.core.api.dto.patient;

import com.ehome.poct.core.api.dto.common.AgeSegment;
import com.ehome.poct.core.api.dto.common.Sex;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Arrays;

/**
 * 患者类别
 * @author muqiu
 * @since 2022/03/04 17:37
 **/
@Getter
@AllArgsConstructor
public enum PatientCategory {
    /** 成人男 */
    ADULT_MALE(AgeSegment.ADULT, Sex.MALE),
    /** 成人女 */
    ADULT_FEMALE(AgeSegment.ADULT, Sex.FEMALE),
    /** 儿童男 */
    CHILD_MALE(AgeSegment.CHILD, Sex.MALE),
    /** 儿童女 */
    CHILD_FEMALE(AgeSegment.CHILD, Sex.FEMALE);
    private final AgeSegment ageSegment;
    private final Sex sex;

    public static PatientCategory getItem(AgeSegment segment, Sex sex) {
        return Arrays.stream(values()).filter(i -> i.ageSegment.equals(segment) && i.sex.equals(sex)).findFirst().orElse(null);
    }
}
